// header
// 字段名：值(可以是单个值，多个值是key=value用,拼接)

// 4种首部字段
// 通用 - request和response都会用的
// Cache-Control - 控制缓存的行为
// ----缓存请求指令
// - no-cache (max-age=0) 强制向源服务器再次验证
// - no-store 不缓存
// - max-age[秒] 缓存存在的最大时间
// - max-stale[秒] 接收已过期的响应
// - min-fresh[秒] 期望在指定时间内的响应仍有效
// - no-transform 代理不可更改媒体类型
// - only-if-cached 从缓存获取资源
// - cache-extension 新指令标记(token)
// ----缓存响应指令
// - public 可以向任意方提供响应的缓存
// - private 仅向特定用户返回响应
// - no-cache=Location
// - no-store
// - no-transform
// - must-revalidate 可缓存但必须向源服务器再次验证
// - proxy-revalidate 要求中间层的缓存服务器对缓存响应有效性再次确认
// - max-age
// - s-maxage 公共缓存服务器响应的最大时间
// - cache-extension

// Connection - 连接管理
// - close
// - Keep-Alive

// Date - 日期

// Pragma - 报文指令
// - no-cache

// Trailer - 报文末端的首部一览

// Transfer-Encoding - 报文主体的传输编码方式

// Upgrade - 升级为其他协议
// - HTTP/2.0

// Via - 代理服务器的相关信息

// Warning - 错误通知

// 请求 - request用的
// Accpet - 可处理的媒体类型
// - text/html application/xml

// Accept-Charset - 优先的字符集

// Accept-Encoding - 优先的内容编码

// Accept-Language - 右边的语言(自然语言)
// - zh-cn/en-us/zh/en

// Authorization - web认证信息

// Expect - 期待服务器的特定行为
// - 如果服务器无法做到用户期望 返回417(Expection Failed)

// From - 用户的邮箱地址

// Host - 请求的资源所在服务器

// If-Match - 比较实体标记(ETag)
// 匹配etag 不成功会返回412(Precondition Failed)

// If-Modified-Since - 比较资源的更新时间
// - 比对Last-Modified

// If-None-Match - 比较实体标记(相反于If-Match)

// If-Range - 资源未更新时发送实体字节的大小
// If-Unmodified-Since - 比较资源的更新时间(相反于If-Modified-Since)

// Max-Forwards最大的传输逐级数
// Proxy-Authorization 代理服务器要求的客户端认证
// Range - 实体的字节范围大小
// - Range=5000-10000

// Referer(Referrer) - 请求中uri的原始获取方
// TE - 传输编码的优先级
// User-Agent - http客户端信息

// 响应 - response用的
// Accept-Ranges - 是否接受字节范围请求
// - bytes(具体的字节)
// - none

// Age - 推测资源创建经过时间内
// ETag - 资源的匹配信息
// - 强 发生改变都会变化
// - 弱 发生根本变化时会 字段值最开始处附加W/

// Location - 令客户端重定向到指定uri
// Proxy-Authenticate - 代理服务器对客户端的认证信息
// Retry-After - 对再次发起请求的时机要求
// Server - HTTP服务器的安装信息
// Vary - 代理服务器缓存的管理信息
// WWW-Authenticate - 服务器对客户端的认证信息

// 实体 - 针对request和response主体内容的补充
// Allow - 可支持HTTP方法
// - GET/POST/OPTIONS
// - 接到了不在列表的方法的话 会返回405 Method Not Allowed

// Content-Encoding - 实体主体适用的编码方式
// - gzip/compress/deflate/identity

// Content-Language - 实体主体适用的自然语言
// Content-Length - 实体主体的大小(单位：字节)
// Content-Location - 替代对应资源的uri
// Content-MD5 - 实体主体的报文摘要
// Content-Range - 实体主体的位置范围
// Content-Type - 实体主体的媒体类型
// Expires - 实体主体过期的日期时间
// Last-Modified - 资源的最后修改日期时间


// End to end 端到端首部
// Hop by hop 逐跳首部


// Cookie相关的header
// Set-Cookie
// - NAME=VALUE 写入的cookie名字和值
// - expires=DATE cookie有效期
// - path=PATH 将服务器上的文件目录作为cookie的适用对象
// - domain=DOMMAIN 作为cookie适用对象的域名
// - Secure 仅在https下才会发送cookie
// - HttpOnly cookie是不是不能被javascript脚本访问

// Cookie


// 扩展字段
// X-Frame-Options
// - DENY 拒绝
// - SAMEORIGIN 同源

// X-XSS-Protection
// - 0 无效(关闭)
// - 1 有效(打开)

// DNT (Do Not Track)
// - 0 同意被追踪
// - 1 拒绝被追踪


// P3P
